﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;
using underwater.OS;
using System.Xml;


namespace underwater.Processes
{
    class Process
    {
        public XmlDocument KOD; // Код программы
        public bool state; // живой или зомби?
        public bool CheckCollision; // проверять ли коллизии?
        bool ProcTypeInit = false; // была ли уже инициализация?
        public OpSys.ProcessTypes CollisionWith; // с кем была коллизия

        public Rectangle animat;  // кадр анимации
        public int Wframe; // ширина кадра
        public int Hframe; // высота кадра
        public int currentFrame; // текущий кадр
        public int timeElapsed; // прошло времени
        public int Frames; // количество кадров
        public int timeForFrame; // время на кадр

        OpSys.ProcessTypes _ProcessType;
        public OpSys.ProcessTypes ProcessType  // ячейка памяти для установки типа процесса, инициализируется 1 раз!;
        {
            set
            {
                if (!ProcTypeInit)
                {
                    _ProcessType = value;
                    ProcTypeInit = true;
                }
            }
            get
            {
                return _ProcessType;
            }
        } 
        public Interpritator.ApiErrors LastError; // ячейка памяти для записи ошибок

        public int ID; // номер процесса, хз зачем... Вдруг пригодиться
        public Rectangle position; // позиция процесса + его размеры


        public double A; // ячейка памяти
        public double B; // ячейка памяти
        public double C; // ячейка памяти
        public double D; // ячейка памяти
        public double course; // направление
        public double Satiety; // голод

        



        public Process()
        {
            #region Выделение памяти под процесс
            _ProcessType = OpSys.ProcessTypes.None;
            LastError = Interpritator.ApiErrors.None;
            KOD = new XmlDocument();
            #endregion
        }
    }
}
